﻿
namespace BF
{
    public static class Log
    {

        private static string GetMessage(string tag, string msg)
        {
            string message = $"<color=yellow>[{tag}]</color> { msg }";
            return message;
        }

        [System.Diagnostics.Conditional("DEBUG")]
        public static void V(string tag, string msg)
        {
            string message = GetMessage(tag, msg);
            UnityEngine.Debug.Log(message);
        }

        [System.Diagnostics.Conditional("DEBUG")]
        public static void D(string tag, string msg)
        {
            string message = GetMessage(tag, msg);
            UnityEngine.Debug.Log(message);
        }

        [System.Diagnostics.Conditional("DEBUG")]
        public static void I(string tag, string msg)
        {
            string message = GetMessage(tag, msg);
            UnityEngine.Debug.Log(message);
        }

        public static void W(string tag, string msg)
        {
            string message = GetMessage(tag, msg);
            UnityEngine.Debug.LogWarning(message);
        }

        public static void E(string tag, string msg)
        {
            string message = GetMessage(tag, msg);
            UnityEngine.Debug.LogError(message);
        }

        public static void E(System.Exception e, UnityEngine.Object obj = null)
        {
            UnityEngine.Debug.LogException(e, obj);
        }
    }
}
